package com.example.demo.mapper;

import com.example.demo.model.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * User:xieChao
 * Date:2022/12/18 22:25
 */
@Mapper
public interface UserMapper {

     //登录功能
     public UserInfo login(@Param("username") String username,
                           @Param("password") String password);

     public UserInfo getUserById(@Param("id") Integer id);

     //多表查询,根据用户id 查询 发布的所有文章
     public UserInfo getUserAndArticleById(@Param("uid") Integer uid);

     public int update(@Param("id") Integer id,@Param("username") String username);
     public int del(@Param("id") Integer id);

//     <foreach> 标签 使用
     public int delIds(List<Integer> id);

     public int add(UserInfo userInfo);

//    动态SQL if 练习
     public int add2(UserInfo userInfo);

//    动态SQL trim 练习
     public int add3(UserInfo userInfo);

     //添加用户，返回受影响的行数和自增的id
     public int addGetId(UserInfo userInfo);
     //根据创建时间进行正/倒序 获取
     public List<UserInfo> getOrderList(@Param("order") String order);

     public List<UserInfo> getListByName(@Param("username") String username);
}
